362e8931fde13352b5109a9dc5f0ee7921e73034,editor/typesystemIntegration/source/jetbrains/mps/typesystem/checking/NonTypesystemEditorChecker.java,NonTypesystemEditorChecker,doCreateMessages,#TypeCheckingContext#boolean#EditorContext#SNode#Cancellable#boolean#,49
Before Change
return CANCELLED;
}
return ((IncrementalTypecheckingContext) context).runTypeCheckingAction(new Computable<Pair<Collection<EditorMessage>, Boolean>>() {
@Override
public Pair<Collection<EditorMessage>, Boolean> compute() {
IncrementalTypechecking typesComponent = context.getBaseNodeTypesComponent();
boolean messagesChanged = false;
//non-typesystem checks
if (!incremental || !typesComponent.isCheckedNonTypesystem()) {
try {
messagesChanged = true;
context.setIsNonTypesystemComputation();
if (typesComponent.applyNonTypesystemRulesToRoot(context, cancellable)) {
typesComponent.setCheckedNonTypesystem();
}
} catch (Throwable t) {
LOG.error(null, t);
typesComponent.setCheckedNonTypesystem();
} finally {
context.resetIsNonTypesystemComputation();
}
}
// highlight nodes with errors
Collection<EditorMessage> messages = collectMessagesForNodesWithErrors(context, editorContext, false, applyQuickFixes);
return new Pair<Collection<EditorMessage>, Boolean>(messages, messagesChanged);
}
});
}
}
After Change
return UpdateResult.CANCELLED;
}
return ((IncrementalTypecheckingContext) context).runTypeCheckingAction(() -> {
IncrementalTypechecking typesComponent = context.getBaseNodeTypesComponent();
boolean messagesChanged = false;
//non-typesystem checks
if (!incremental || !typesComponent.isCheckedNonTypesystem()) {
try {
messagesChanged = true;
context.setIsNonTypesystemComputation();
if (typesComponent.applyNonTypesystemRulesToRoot(context, cancellable)) {
typesComponent.setCheckedNonTypesystem();
}
} catch (Throwable t) {
LOG.error(null, t);
typesComponent.setCheckedNonTypesystem();
} finally {
context.resetIsNonTypesystemComputation();
}
}
// highlight nodes with errors
Collection<EditorMessage> messages = collectMessagesForNodesWithErrors(context, editorContext, false, applyQuickFixes);
return new Completed(messagesChanged, messages);
});
}
}